/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.sapra.dao;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.util.Date;
import org.sapra.dep.conexion.DAC;

/**
 *
 * @author luiz
 */
public class PdfModel extends DAC{
    public PdfModel(int id){
        this.practicanteId=id;
        persistence();
        empresaDir();
    }

    private int practicanteId=0;
    private int empresaId=0;
    private String nombre="";
    private String paterno="";
    private String materno="";
    private String matricula="";
    private String universidad="";
    private String carrera="";
    private String escolaridad="";
    private String direccion="";
    private String colonia="";
    private String poblacion="";
    private String telefono="";
    private String razon_empresa="";
    private String calle="";
    private Date inicio=new Date();
    private Date fin=new Date();
    private String cantidad="";

    private String dir_emp="";
    public void persistence(){
        String sql="";

        try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
               conn = (Connection) DriverManager.getConnection(url);
               stmt = (Statement) conn.createStatement();
               sql="SELECT p.nombre AS nombre,"
                       + " p.paterno AS paterno, "
                       + " p.materno AS materno,"
                       + " p.matricula AS matricula, "
                       + " u.nombre AS universidad, "
                       + " c.nombre AS carrera, "
                       + " CONCAT(p.grado,' ',p.ciclo_escolar) AS escolaridad, "
                       + " d.calle AS calle ,d.numero_exterior AS ext,d.numero_interior AS inte, "
                       + " CONCAT(col.nombre,' CP.',col.codigoPostal) AS colonia, "
                       + " pob.nombre AS poblacion,"
                       + " p.telefono AS telefono, "
                       + " emp.razon_empresa AS empresa, "
                       + " p.fec_inicioContrato AS inicio,"
                       + " p.fec_terminoContrato AS termino, "
                       + " p.sueldo AS cantidad,"
                       + " emp.empresaId AS empresaId "
                       + " from practicante p  "
                       + " INNER JOIN universidad u "
                       + " ON u.universidadId=p.fk_universidadId "
                       + " INNER JOIN carrera c "
                       + " ON c.carreraId=p.fk_carreraId "
                       + " INNER JOIN direccion d"
                       + " ON d.direccionId=p.fk_direccionId"
                       + " INNER JOIN colonia col "
                       + " ON col.coloniaId=d.fk_coloniaId "
                       + " INNER JOIN poblacion pob "
                       + " ON pob.poblacionId=col.fk_poblacionId"
                       + " INNER JOIN departamento dep "
                       + " ON dep.departamentoId=p.fk_departamentoId "
                       + " INNER JOIN empresa emp "
                       + " ON emp.empresaId=dep.fk_empresaId "
                       + " WHERE p.practicanteId="+this.practicanteId;
                       //System.out.println(sql);
                       rs=stmt.executeQuery(sql);
                          while(rs.next()){
                            this.nombre=rs.getString("nombre");
                            this.paterno=rs.getString("paterno");
                            this.materno=rs.getString("materno");
                            this.universidad=rs.getString("universidad");
                            this.carrera=rs.getString("carrera");
                            this.escolaridad=rs.getString("escolaridad");
                            this.colonia=rs.getString("colonia");
                            this.poblacion=rs.getString("poblacion");
                            this.telefono=rs.getString("telefono");
                            this.razon_empresa=rs.getString("empresa");
                            this.calle=rs.getString("calle");
                            this.matricula=rs.getString("matricula");
                            String inte=rs.getString("inte");
                            String ext=rs.getString("ext");

                            if(!(ext.trim().equals("")||ext==null))
                                this.calle+=" # "+ext;
                            if(!(inte.trim().equals("")||inte==null))
                                this.calle+=" Int. "+inte;
                            this.inicio=rs.getDate("inicio");
                            this.fin=rs.getDate("termino");
                            this.cantidad=rs.getString("cantidad");
                            this.razon_empresa=rs.getString("empresa");
                            this.empresaId=rs.getInt("empresaId");
                          }
                       CloseConnexion();
        } catch (Exception e) {
            System.out.println("Fallo en Persistence PDF");
            e.printStackTrace();
            CloseConnexion();
        }finally{
            CloseConnexion();
        }
    }
    public void empresaDir(){
        try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
               conn = (Connection) DriverManager.getConnection(url);
               stmt = (Statement) conn.createStatement();
               String sql="SELECT "
                       + " d.calle AS calle ,d.numero_exterior AS ext,d.numero_interior AS inte,"
                       + " CONCAT('COL.',col.nombre,' CP.',col.codigoPostal,' ',pob.nombre,',',es.nombre,',',pa.nombre) AS colonia "
                       + " FROM empresa emp "
                       + " INNER JOIN direccion d "
                       + " ON emp.fk_direccionId=d.direccionId "
                       + " INNER JOIN colonia col "
                       + " ON d.fk_coloniaId=col.coloniaId "
                       + " INNER JOIN poblacion pob "
                       + " ON col.fk_poblacionId=pob.poblacionId "
                       + " INNER JOIN estado es "
                       + " ON pob.fk_estadoId=es.estadoId "
                       + " INNER JOIN pais pa "
                       + " ON es.fk_paisId=pa.paisId "
                       + " WHERE emp.empresaId="+this.empresaId;
               //System.out.println(sql);
               rs=stmt.executeQuery(sql);
                while(rs.next()){
                            this.dir_emp=rs.getString("calle");
                            String inte=rs.getString("inte");
                            String ext=rs.getString("ext");
                            if(!(ext.trim().equals("")||ext==null))
                                this.dir_emp+=" # "+ext;
                            if(!(inte.trim().equals("")||inte==null))
                                this.dir_emp+=" Int. "+inte;
                            this.dir_emp+=rs.getString("colonia");
                 }
               CloseConnexion();
        } catch (Exception e) {
            CloseConnexion();
        }finally{
            CloseConnexion();
        }


    }

    public String getCalle() {
        return calle;
    }

    public void setCalle(String calle) {
        this.calle = calle;
    }

    public String getCantidad() {
        return cantidad;
    }

    public void setCantidad(String cantidad) {
        this.cantidad = cantidad;
    }

    public String getCarrera() {
        return carrera;
    }

    public void setCarrera(String carrera) {
        this.carrera = carrera;
    }

    public String getColonia() {
        return colonia;
    }

    public void setColonia(String colonia) {
        this.colonia = colonia;
    }

    public String getDir_emp() {
        return dir_emp;
    }

    public void setDir_emp(String dir_emp) {
        this.dir_emp = dir_emp;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public int getEmpresaId() {
        return empresaId;
    }

    public void setEmpresaId(int empresaId) {
        this.empresaId = empresaId;
    }

    public String getEscolaridad() {
        return escolaridad;
    }

    public void setEscolaridad(String escolaridad) {
        this.escolaridad = escolaridad;
    }

    public Date getFin() {
        return fin;
    }

    public void setFin(Date fin) {
        this.fin = fin;
    }

    public Date getInicio() {
        return inicio;
    }

    public void setInicio(Date inicio) {
        this.inicio = inicio;
    }

    public String getMaterno() {
        return materno;
    }

    public void setMaterno(String materno) {
        this.materno = materno;
    }

    public String getMatricula() {
        return matricula;
    }

    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getPaterno() {
        return paterno;
    }

    public void setPaterno(String paterno) {
        this.paterno = paterno;
    }

    public String getPoblacion() {
        return poblacion;
    }

    public void setPoblacion(String poblacion) {
        this.poblacion = poblacion;
    }

    public int getPracticanteId() {
        return practicanteId;
    }

    public void setPracticanteId(int practicanteId) {
        this.practicanteId = practicanteId;
    }

    public String getRazon_empresa() {
        return razon_empresa;
    }

    public void setRazon_empresa(String razon_empresa) {
        this.razon_empresa = razon_empresa;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getUniversidad() {
        return universidad;
    }

    public void setUniversidad(String universidad) {
        this.universidad = universidad;
    }


}
